Crate sunscreen_runtime
source · [−]Expand description
This crate contains the types and functions for executing a Sunscreen FHE program
(i.e. an FheProgram
).
Structs
Indicates the type signatures of an Fhe Program. Serves as a piece of the
FheProgramMetadata
.An encryption of the given data type. Note, the data type is
stored in plaintext and is considered part of Sunscreen’s runtime
protocol.
An FHE program with its associated metadata.
A serializable list of requirements for an Fhe Program.
The parameter set required for a given FHE program to run efficiently and correctly.
Represents an encoded plaintext suitable for use in the underlying scheme.
The private key used to decrypt ciphertexts.
A bundle of public keys. These may be freely shared with other parties without
risk of compromising data security.
Contains all the elements needed to encrypt, decrypt, generate keys, and evaluate FHE programs.
A type which represents the fully qualified name and version of a datatype.
SemVer version as defined by https://semver.org.
A data type that contains parameters for reconstructing a context
during deserialization (needed by SEAL).
Enums
Represents an error that can occur in this crate.
An input argument to an Fhe Program. See
crate::Runtime::run
.An error that occurs while running an Fhe Program.
The underlying backend implementation of a ciphertext (e.g SEAL’s
Ciphertext
).The underlying backend implementation of a plaintext (e.g. SEAL’s
Plaintext
).A key type required for an Fhe Program to function correctly.
A type that can be either a SEAL plaintext or a ciphertext.
Traits
Denotes the given type is valid under the BFV scheme.
A trait that denotes this type can be used as an
argument to an FHE program.
Denotes the given rust type is an encoding in an FHE scheme
Declare how many ciphertexts an FheType decomposes into. The runtime needs this
to correctly bundle return values from an Fhe Program.
This trait specifies one may attempt to convert a plaintext into this type.
This trait denotes one may attempt to turn this type into a plaintext.
A trait the gives a name an version to a given type
A trait the gives a name an version to a given type
Functions
You probably should instead use
Runtime::run()
.Traverses the FheProgram’s nodes in topological order, executing
callback on each node.